package com.cashbook.service;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.cashbook.pojo.TbInEx;

import entity.PageResult;
/**
 * 服务层接口
 * @author Administrator
 *
 */
public interface InExService {

	/**
	 * 返回全部列表
	 * @return
	 */
	public List<TbInEx> findAll();
	
	
	/**
	 * 返回分页列表
	 * @return
	 */
	public PageResult findPage(int pageNum,int pageSize);
	
	
	/**
	 * 增加
	*/
	public void add(TbInEx inex);
	
	
	/**
	 * 修改
	 */
	public void update(TbInEx inex);
	

	/**
	 * 根据ID获取实体
	 * @param id
	 * @return
	 */
	public TbInEx findOne(Long id);
	
	
	/**
	 * 批量删除
	 * @param ids
	 */
	public void delete(Long [] ids);

	/**
	 * 分页
	 * @param pageNum 当前页 码
	 * @param pageSize 每页记录数
	 * @return
	 */
	public PageResult findPage(TbInEx inex, int pageNum,int pageSize);

	/**
	 * 查询当日明细
	 * @param time 日期
	 * @param cateId 收入0 支出1
	 * @param openId 用户openId标识
	 * @return
	 * @throws ParseException 
	 * @throws Exception 
	 */
	public List<TbInEx> searchByDetail(String time, Long cateId, String openId);
	/**
	 * 获取账单 查询当前年通过type_name 分组获取的总额
	 */

	List<Map<String,Object>> selectBytypeName(TbInEx inex);
	/**
	 * 按月分组ecahrt图
	 * @param record
	 * @return
	 */
    List<Map<String,Object>> selectEchartByMonth(TbInEx record);
    /**
      * 按周查询echarts图
     * @param openId
     * @param begintime
     * @param endtime
     * @param cateId
     * @return
     */
    List<Map<String,Object>> selectEchartByWeek(String openId, Date begintime,Date endtime,Long cateId);
    /**
     * 查询所有 包括tb_user表的信息
     * @return
     */
    PageResult selectAll(int pageNum,int pageSize,TbInEx inex);
}
